package com.xyht.sca_s.student_manage_system.modules.repairCheck.entity.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author XYHT
 * @since 2023-06-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_repair_check_apply")
@ApiModel(value="SmsRepairCheckApply对象", description="")
public class SmsRepairCheckApplyDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    private String applyId;

    @ApiModelProperty(value = "申请人id")
    private String applyUserId;

    private SmsRepairCheckUserDTO applyUserInfo;


    @ApiModelProperty(value = "院系/部门/班级")
    private String applyYbbName;

    @ApiModelProperty(value = "报修人")
    private String applyPerson;

    @ApiModelProperty(value = "联系电话")
    private String applyPhone;

    @ApiModelProperty(value = "报修时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date applyRepairTime;

    @ApiModelProperty(value = "检修项目")
    private String applyRepairProject;

    @ApiModelProperty(value = "后勤处确认签字")
    private String applyHqSign;

    @ApiModelProperty(value = "检修地点")
    private String applyRepairAddress;

    @ApiModelProperty(value = "损坏原因")
    private String applyBadReason;

    @ApiModelProperty(value = "检修人")
    private String applyFixedPerson;

    @ApiModelProperty(value = "检修人联系电话")
    private String applyFixedPhone;

    @ApiModelProperty(value = "检修时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date applyFixedTime;

    @ApiModelProperty(value = "检修结果 1：已修复，2：无法修复，3：无法及时修复")
    private Integer applyFixedResult;

    @ApiModelProperty(value = "处理意见 1：免赔偿，2：照价赔偿，3：加倍赔偿")
    private Integer applyHandleOption;

    @ApiModelProperty(value = "赔偿金额")
    private String applyCompensationAmount;

    @ApiModelProperty(value = "核价人")
    private String applyPricePerson;

    @ApiModelProperty(value = "注意事项")
    private String applyNote;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "审批状态：0：审批中，1：通过，2：驳回，3：撤销")
    private Integer allowStatus;


    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    private List<SmsRepairCheckDetailDTO> detailList;

    private String processName;

    @ApiModelProperty(value = "审批节点id")
    private String detailId;

    @ApiModelProperty(value = "审批人用户信息")
    private SmsRepairCheckUserDTO allowUserInfo;

    @ApiModelProperty(value = "审批人id")
    private String detailAllowUserId;



    @ApiModelProperty(value = "审批状态  0：审批中  1：通过   2：驳回   3：撤销")
    private Integer detailAllowStatus;
}
